Quality of Service (QoS) is an important consideration for implementing networked applications. The QoS for any given application will depend on the type of transport protocol that is employed for that application. In conventional distributed systems, considering a layered architecture, optimisation of QoS is initiated and often carried out at the application layer, with the result that all ensuing communications are transported using the same transport layer protocol (which in the Internet may be the Transport Control Protocol TCP, for example). However, mechanisms for optimising QoS can negatively impact application and network performance when the network environment changes over time, or where the system includes multiple applications having differing networking requirements.
It follows that it is desirable to provide new mechanisms for optimising QoS when establishing network connections between devices in a machine-to-machine distributed system.